Skip to content

feat(api): add S3-backed screenshot storage#147

Merged
vvatelot merged 6 commits into
mainfrom
feat/api-s3-screenshots
Jul 10, 2026
Merged

feat(api): add S3-backed screenshot storage#147
vvatelot merged 6 commits into
mainfrom
feat/api-s3-screenshots

Conversation

@vvatelot

@vvatelot vvatelot commented Jul 9, 2026

Copy link
Copy Markdown
Member

Support both filesystem and S3-compatible storage for screenshots, and default the Docker API stack to Garage-backed object storage so screenshot persistence is production-like by default.

@vvatelot vvatelot self-assigned this Jul 9, 2026
@github-actions github-actions Bot added documentation Improvements or additions to documentation API tests components labels Jul 9, 2026
@github-actions

github-actions Bot commented Jul 9, 2026

Copy link
Copy Markdown

Coverage PR 147

Branch coverage •
FileStmtsMissCoverMissing
components/ecoindex/config
   settings.py370100% 
components/ecoindex/models
   response_examples.py60100% 
components/ecoindex/screenshot_storage
   __init__.py20100% 
   storage.py742862%29–31, 33–34, 38–39, 43–44, 48, 85, 93–97, 112–114, 118–123, 130–131, 135
TOTAL98630169% 

vvatelot and others added 4 commits July 10, 2026 11:44
Support both filesystem and S3-compatible storage for screenshots, and default the Docker API stack to Garage-backed object storage so screenshot persistence is production-like by default.

Co-authored-by: Cursor <cursoragent@cursor.com>
Add the missing Version import so ruff and mypy pass after the S3 screenshot storage changes, and refresh uv.lock for boto3.

Co-authored-by: Cursor <cursoragent@cursor.com>
Move S3 screenshot storage into an API-only polylith brick so ecoindex_cli and ecoindex_scraper no longer inherit boto3 and config dependencies from the shared utils package.

Co-authored-by: Cursor <cursoragent@cursor.com>
Refresh locked dependency versions after running uv lock.

Co-authored-by: Cursor <cursoragent@cursor.com>
@vvatelot vvatelot force-pushed the feat/api-s3-screenshots branch from 72ae6d7 to cd4539e Compare July 10, 2026 09:51
Use RustFS as the local S3-compatible backend, consolidate dev infra
startup into a single script, and ensure the screenshot bucket exists.

Co-authored-by: Cursor <cursoragent@cursor.com>
The persist_screenshot flow now checks bucket existence before upload.

Co-authored-by: Cursor <cursoragent@cursor.com>
@vvatelot vvatelot merged commit cf85f07 into main Jul 10, 2026
6 checks passed
@vvatelot vvatelot deleted the feat/api-s3-screenshots branch July 10, 2026 14:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

API components documentation Improvements or additions to documentation tests tooling

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant